﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace Onshi.POS.AccesoDatos.Interfaces
{
    public interface IServicioDatosProveedores
    {
        #region Metodos

        DataSet Proveedores_DevolverTodos(Boolean incluirImagen);
        DataSet Proveedores_DevolverPorId(Int32 idProveedor, Boolean incluirImagen);
        DataSet Proveedores_DevolverPorCodigo(String codigo, Boolean incluirImagen);
        Int32 Proveedores_Insertar(Int32 idRubroProveedor, Byte idTipoIva, Int32 idListaPrecioCompra, String codigo, String nombre, Decimal limiteDeuda, String cuit, String email, String sitioWeb, String observaciones, Byte[] imagen);
        void Proveedores_Modificar(Int32 idProveedor, Int32 idRubroProveedor, Byte idTipoIva, Int32 idListaPrecioCompra, String codigo, String nombre, Decimal limiteDeuda, String cuit, String email, String sitioWeb, String observaciones, Byte[] imagen, Boolean estaEliminado);
        void Proveedores_ModificarRubroProveedor(Int32 idRubroProveedorNuevo, Int32 idRubroProveedorViejo);

        Int32 DomiciliosProveedores_Insertar(Int32 idProveedor, Byte idTipoDomicilio, Int32 idBarrio, String calle, String numero, String piso, String departamento);
        void DomiciliosProveedores_EliminarPorProveedor(Int32 idProveedor);
        void DomiciliosProveedores_ModificarBarrio(Int32 idBarrioNuevo, Int32 idBarrioViejo);

        Int32 TelefonosProveedores_Insertar(Int32 idProveedor, Byte idTipoTelefono, String codigoArea, String numero);
        void TelefonosProveedores_EliminarPorProveedor(Int32 idProveedor);

        void ProveedoresTiposFormasPagos_EliminarPorProveedor(Int32 idProveedor);
        void ProveedoresTiposFormasPagos_Insertar(Int32 idProveedor, Byte idTipoFormaPago);

        void ProveedoresCamposPersonalizadosProveedores_EliminarPorProveedor(Int32 idProveedor);
        void ProveedoresCamposPersonalizadosProveedores_Insertar(Int32 idProveedor, Int32 idCampoPersonalizadoProveedor, String valor);
        void ProveedoresCamposPersonalizadosProveedores_EliminarPorCampoPersonalizadoProveedor(Int32 idCampoPersonalizadoProveedor);

        #endregion
    }
}
